#!/bin/sh

#根据 MTD 分区的名称查找对应的块设备路径
function get_partition_dev()
{
	mtdblockid=`cat /proc/mtd | grep -E "\"$1\"$" | grep -E -o "mtd[0-9]+" | grep -E -o "[0-9]+"`
	if [ "$mtdblockid" != "" ];then
		echo "/dev/mtdblock$mtdblockid"
	else
		echo ""
	fi
}

# mount usr file-system. 只读
#/bin/mount -t squashfs /dev/mtdblock7 /usr 分区大小为3100k
# 获取app的设备路径
partition_app=`get_partition_dev APP`
if [ "$partition_app" != "" ];then
	echo "/bin/mount -t squashfs $partition_app /usr"
	/bin/mount -t squashfs $partition_app /usr
fi

# mount jffs2 file-system. 可读写
#/bin/mount -t jffs2 /dev/mtdblock6 /etc/config 分区大小为300k
partition_config=`get_partition_dev CONFIG`
if [ "$partition_config" != "" ];then
	echo "/bin/mount -t jffs2 $partition_config /etc/config"
	/bin/mount -t jffs2 $partition_config /etc/config
fi

echo "starting mdev..."
#当有设备热插拔事件（如插入 U 盘、USB 鼠标等）发生时，调用 /sbin/mdev 程序处理
/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug

#系统启动时，内核已识别硬件，但 /dev 目录下的设备节点可能未自动创建。mdev -s 会一次性初始化所有设备节点，确保后续程序能通过 /dev 访问硬件
mdev -s

# 注意：不建议在“mount”命令之前运行其他应用程序

#激活本地回环接口（lo）并配置 IP 地址 127.0.0.1
#很多程序（如数据库、网络服务）依赖回环接口正常工作，即使设备不连接外部网络也必须配置
ifconfig lo 127.0.0.1

#start system service
/usr/sbin/main.sh &
